#ifndef	___SCENE_MANAGER_SVR____
#define ___SCENE_MANAGER_SVR____

#include "Scene/SceneManager.h"

//
//	dynamic data interface used for creating a new scene	
//
class SceneManagerSvr : public SceneManager
{
public:
	SceneManagerSvr();
	virtual	~SceneManagerSvr();

	//
	//	add a scene by static id and table 
	//	scene will be fully initialized in it loading method
	//
	virtual IScene* addScene(int nStaticID, short type);

	//
	//	remove a scene by its instance id
	//
	virtual bool	rmvScene(int nInstanceID);
protected:
	virtual IScene* createScene(int nStaticID, short type);

	//
	//	static id to instance id for city only
	//	note that each city will only have one instance
	//
	typedef		stdext::hash_map<int, int>	StaticToInstance;
	StaticToInstance	m_stoi;
};


#endif
